Python 后端全栈行动指南
说明
本文档是《Python 后端全栈学习路线》的配套行动指南,将学习路线中的每个阶段拆解为具体的周任务清单,帮助你按部就班地完成学习。
第一阶段:巩固 Python 后端基础(第 1-3 周)
第一周任务清单
- [ ] 安装
FastAPI和Uvicorn - [ ] 阅读
FastAPI官方文档 "Tutorial - User Guide" - [ ] 创建第一个
FastAPI应用 - [ ] 掌握路由定义和请求参数处理
- [ ] 学习
Pydantic模型定义 - [ ] 了解依赖注入系统
本周产出物
- 一个包含
CRUD操作的FastAPI基础项目 - 至少 3 个
Pydantic模型定义示例 - 使用依赖注入实现的数据库连接示例
第二周任务清单
- [ ] 学习
Poetry依赖管理工具 - [ ] 配置
pre-commit hooks(Black、Ruff) - [ ] 掌握
Git进阶操作(分支策略、Rebase) - [ ] 学习
FastAPI中间件和异常处理 - [ ] 掌握
FastAPI后台任务(BackgroundTasks)
本周产出物
- 使用
Poetry管理的项目结构 - 配置好代码规范的仓库
- 包含中间件和异常处理的
FastAPI项目
第三周任务清单
- [ ] 学习
FastAPI文件上传和下载 - [ ] 掌握
FastAPI安全认证(OAuth2、JWT) - [ ] 学习
FastAPI测试(TestClient、pytest) - [ ] 完成第一阶段实战项目
本周产出物
- 一个完整的用户认证系统(注册、登录、
JWT验证) - 包含文件上传功能的接口
- 完整的单元测试覆盖
第二阶段:数据持久化(第 4-7 周)
第四周任务清单
- [ ] 安装
PostgreSQL并学习基础命令 - [ ] 学习
SQLModel基础(模型定义、表创建) - [ ] 掌握
SQLModel的CRUD操作 - [ ] 学习数据库迁移工具(
Alembic)
本周产出物
- 使用
SQLModel定义的至少 5 个数据模型 - 完成数据库迁移配置
- 基础的增删改查接口
第五周任务清单
- [ ] 学习
SQLModel关系(一对一、一对多、多对多) - [ ] 掌握数据库事务处理
- [ ] 学习索引优化和查询优化
- [ ] 学习异步数据库操作(
AsyncSession)
本周产出物
- 包含复杂关系的博客系统数据模型
- 优化后的查询接口
- 异步数据库操作示例
第六周任务清单
- [ ] 学习
Redis基础(数据类型、常用命令) - [ ] 掌握
Redis缓存实现 - [ ] 学习
Redis会话存储 - [ ] 集成
Redis到FastAPI项目
本周产出物
- 基于
Redis的缓存装饰器 - 使用
Redis存储会话的登录系统
第七周任务清单
- [ ] 学习
MongoDB基础(文档模型、CRUD) - [ ] 掌握
Motor异步驱动 - [ ] 学习向量数据库基础(
Chroma/Pgvector) - [ ] 完成第二阶段实战项目
本周产出物
- 使用
MongoDB存储非结构化数据的接口 - 向量数据库基础使用示例
第三阶段:AI 应用开发核心(第 8-13 周)
第八周任务清单
- [ ] 学习
LangChain基础概念 - [ ] 掌握
Prompt工程和模板 - [ ] 学习
LangChain的Chains使用 - [ ] 集成
OpenAI/DeepSeek API
本周产出物
- 基础的
LLM调用示例 - 使用
Chains串联多个调用的示例
第九周任务清单
- [ ] 学习
LangChain的Memory模块 - [ ] 掌握对话历史管理
- [ ] 学习
LangChain的Agents - [ ] 实现让
LLM使用工具的示例
本周产出物
- 带记忆功能的对话系统
- 能调用外部工具的
Agent示例
第十周任务清单
- [ ] 学习
RAG(检索增强生成)原理 - [ ] 掌握文档加载和文本分割
- [ ] 学习嵌入模型(
Embeddings) - [ ] 实现文档向量化存储
本周产出物
- 文档解析和分块工具
- 向量化存储实现
第十一周任务清单
- [ ] 学习
LlamaIndex基础 - [ ] 掌握索引构建和查询引擎
- [ ] 学习
LlamaIndex与向量数据库集成 - [ ] 实现基础的
RAG查询
本周产出物
- 基于
LlamaIndex的文档检索系统 - 完整的
RAG查询流程
第十二周任务清单
- [ ] 设计
RAG系统架构 - [ ] 实现文档上传接口
- [ ] 实现智能问答接口
- [ ] 集成前端界面(可选)
本周产出物
RAG系统的API设计文档- 核心功能的后端实现
第十三周任务清单
- [ ] 优化
RAG检索效果 - [ ] 实现对话历史存储
- [ ] 添加用户反馈功能
- [ ] 完成第三阶段实战项目
本周产出物
- 完整的
RAG系统 - 项目部署文档
第四阶段:微服务与容器化(第 14-16 周)
第十四周任务清单
- [ ] 学习
Docker基础概念 - [ ] 编写
Dockerfile - [ ] 掌握
docker-compose基础 - [ ] 容器化
FastAPI应用
本周产出物
- 项目的
Dockerfile - 基础的
docker-compose.yml
第十五周任务清单
- [ ] 学习
docker-compose多服务编排 - [ ] 实现数据库服务编排
- [ ] 学习
Redis服务编排 - [ ] 实现服务间通信
本周产出物
- 完整的多服务
docker-compose配置 - 包含
FastAPI+PostgreSQL+Redis的环境
第十六周任务清单
- [ ] 学习
Kubernetes基础概念 - [ ] 掌握
Pod、Service、Deployment - [ ] 学习
ConfigMap和Secret - [ ] 编写
K8s部署文件
本周产出物
- 项目的
Kubernetes部署配置 - 本地
Minikube部署验证
第五阶段:部署与监控(第 17-19 周)
第十七周任务清单
- [ ] 选择云平台(
AWS/阿里云/Vercel) - [ ] 学习云平台基础服务
- [ ] 部署
FastAPI应用到云端 - [ ] 配置域名和
HTTPS
本周产出物
- 云服务器环境配置
- 线上部署的应用
第十八周任务清单
- [ ] 学习日志收集(
ELK或Loki) - [ ] 配置应用日志输出
- [ ] 学习
Prometheus指标收集 - [ ] 配置
Grafana仪表盘
本周产出物
- 日志收集系统配置
- 基础的监控仪表盘
第十九周任务清单
- [ ] 学习健康检查和告警
- [ ] 配置应用健康检查端点
- [ ] 学习链路追踪(
Jaeger) - [ ] 完成第五阶段实战项目
本周产出物
- 完整的监控告警系统
- 系统运维文档
第六阶段:项目实战(第 20 周+)
项目 1:AI 客服系统
任务清单
- [ ] 设计系统架构和技术选型
- [ ] 实现用户认证和权限管理
- [ ] 开发知识库管理功能
- [ ] 实现文档上传和向量化
- [ ] 开发智能问答接口
- [ ] 实现对话历史管理
- [ ] 开发管理后台
- [ ] 添加数据统计功能
- [ ] 实现用户反馈标注
- [ ] 系统测试和优化
- [ ] 部署上线
技术栈
- 后端:
FastAPI+SQLModel+PostgreSQL+Redis - AI:
LangChain+LlamaIndex+DeepSeek API - 向量数据库:
Chroma/Pgvector - 部署:
Docker+Kubernetes+ 云平台
项目 2:MCP 服务开发
任务清单
- [ ] 学习
MCP(Model Context Protocol)协议原理 - [ ] 阅读
MCP官方文档 - [ ] 搭建
MCP开发环境 - [ ] 编写第一个
MCP服务 - [ ] 实现工具调用功能
- [ ] 测试
MCP服务与Claude/Cursor集成 - [ ] 部署
MCP服务 - [ ] 编写
MCP服务使用文档
技术栈
MCP SDK(Python)FastAPI/Sanic(服务端)SSE/WebSocket(通信)
每日学习建议
时间安排
| 时间段 | 内容 |
|---|---|
| 早上(1-2 小时) | 理论学习(文档、视频) |
| 下午(2-3 小时) | 实践编码 |
| 晚上(1 小时) | 复习总结、写学习笔记 |
学习方法
- 先跑通再深入:先让代码跑起来,再研究原理
- 多写多练:每个知识点都要动手实践
- 记录笔记:建立自己的知识库
- 定期复习:每周回顾本周学习内容
- 参与社区:遇到问题先搜索,再提问
检查点设置
阶段检查点
| 阶段 | 检查内容 | 通过标准 |
|---|---|---|
| 阶段一 | FastAPI 基础 | 能独立开发 CRUD 接口 |
| 阶段二 | 数据库操作 | 能设计数据库模型并优化查询 |
| 阶段三 | AI 应用开发 | 能独立开发 RAG 系统 |
| 阶段四 | 容器化 | 能用 Docker 部署完整应用 |
| 阶段五 | 生产部署 | 应用能稳定运行在线上环境 |
资源速查
文档链接
FastAPI官方文档:https://fastapi.tiangolo.comPydantic文档:https://docs.pydantic.devSQLModel文档:https://sqlmodel.tiangolo.comLangChain文档:https://python.langchain.comLlamaIndex文档:https://docs.llamaindex.aiMCP文档:https://modelcontextprotocol.io
推荐工具
- 开发环境:
VSCode+Python插件 - API 测试:
Postman/HTTPie/curl - 数据库客户端:
TablePlus/DBeaver - 容器管理:
Docker Desktop - 云服务器:阿里云
ECS/AWS EC2
常见问题
Q: 每周学习时间不够怎么办?
A: 可以适当延长每个阶段的时间,关键是保持学习的连续性。建议每天至少投入 1-2 小时。
Q: 遇到报错解决不了怎么办?
A:
- 仔细阅读错误信息
- 搜索错误关键词
- 查看官方文档
- 在
GitHub Issues中搜索 - 向社区提问
Q: 需要同时学习前端吗?
A: 建议先专注于后端,等后端基础扎实后再学习前端。可以使用 Postman 测试接口,不需要等前端完成。
Q: 如何检验学习效果?
A:
- 不看教程独立实现功能
- 给他人讲解所学内容
- 完成阶段产出物
- 参与开源项目
更新日志
| 日期 | 更新内容 |
|---|---|
| 2026-04-14 | 初始版本,完成 6 个阶段共 19 周的任务清单 |
开始行动吧!记住:完成比完美更重要。
评论
正在加载评论…